# -*- coding: utf-8 -*-
# @Time : 2019/1/17 11:56
# @Author : Administrator
# @File : basic_info.py
# @Project : untitled
# @title : 学院管理基本信息、课程安排
from WoniuBoss2.GUI.common.basic import Common
from HTMLTestRunner import HTMLTestRunner
from WoniuBoss2.GUI.cases import basic_info
import unittest,os
class BasicInfor(unittest.TestCase): #学员管理基本信息模块
    #初始化，用于登录、解密
    @classmethod
    def setUpClass(cls):
        cls.common = Common()

    #学员管理-基本信息-搜索，搜索框输入已存在学员的姓名，可以搜索出对应正确的学员信息
    def test_001_ser_name(self):
        self.common.decode("woniu123")  #解密
        name = self.common.basic_ser_name()
        ecp_name = name[0] #获取预期姓名
        act_name = name[1] #获取实际姓名
        self.assertEqual(ecp_name,act_name) #断言

    #学员管理-基本信息-搜索，搜索框输入已存在学员的学号，可以搜索出对应正确的学员信息
    def test_002_ser_id(self):
        s_id = self.common.basic_ser_id()
        exp_id = s_id[0] #获取预期学号
        act_id = s_id[1] #获取实际学号
        self.assertEqual(exp_id,act_id)  #断言

    #学员管理-基本信息-修改，修改学员姓名，输入合法的姓名，修改成功后，基本信息界面对应信息作出修改
    def test_003_mod_name(self):
        name = "胡二静"
        #获取修改后的学员姓名
        act_name = self.common.basic_modify_name(name)
        self.assertEqual(name,act_name)  #断言

    #学员管理-基本信息-修改，修改学员姓名，输入为空，修改失败
    def test_004_mod_name(self):
        name = ""
        #获取修改后的学员姓名
        act_name = self.common.basic_modify_name(name)
        self.assertNotEqual(name,act_name)  #断言

    #学员管理-基本信息-修改，修改学员姓名，输入超长，修改失败
    def test_005_mod_name(self):
        name = "欢迎来到蜗牛学院"
        #获取修改后的学员姓名
        act_name = self.common.basic_modify_name(name)
        self.assertNotEqual(name,act_name)  #断言

    #学员管理-基本信息-修改，修改学员学号，修改成功后，基本信息界面对应信息作出修改
    def test_006_mod_id(self):
        id = "WNCP665"
        #获取修改后的学员学号
        act_id = self.common.basic_modify_id(id)
        self.assertEqual(id,act_id)

    #学员管理-基本信息-修改，修改学员年龄，修改成功后，基本信息界面对应信息作出修改
    def test_007_mod_age(self):
        age = "18"
        #获取修改后的年龄
        act_age = self.common.basic_modify_age(age)
        self.assertEqual(age,act_age)  #断言

    #学员管理-基本信息-修改，修改最新状态，修改成功后，通过学号查询到被修改的信息查看状态
    def test_008_mod_status(self):
        status = "转就业"
        #获取修改后的最新状态
        act_status = self.common.basic_modify_status(status)
        self.assertEqual(status,act_status) #断言

    #学员管理-课程安排-修改课程信息，修改状态为“休息”，修改成功
    def test_009_modify_status(self):
        status = "休息"
        act_status = self.common.plan_modify_status(status)
        self.assertEqual(status,act_status)  #断言

    @classmethod
    def tearDownClass(cls):
        os.system("taskkill /F /IM firefox.exe") #关闭浏览器


# if __name__ == '__main__':
#      suite = unittest.TestSuite()
#      suite.addTests(unittest.TestLoader().loadTestsFromTestCase(BasicInfor))
#      with open(r"C:\Users\Administrator\PycharmProjects\untitled\WoniuBoss2\GUI\report\test001.html","w",encoding="utf8") as file:
#          runner = HTMLTestRunner(stream=file,verbosity=2,title="basic information test",
#                                  description="basic information testreport")
#          runner.run(suite)
